package com.token.sysapp.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.token.sql.IntegrateSql;
import com.token.sql.AbstractTableBean;
/**
 * 应用配置
 * @author 代码创建
 */
public class FSysAppInfo extends AbstractTableBean {

    private int SysId; //租户ID
    private String SysAddTime; //创建时间
    private String SysAddUser; //创建人
    private String SysEditTime; //修改时间
    private String SysEditUser; //修改人
    private String AppKeyId; //应用编号
    private String IsUse; //是否使用
    private String AppDesc; //应用描述
    private int AppType; //模块类型
    private int FlowType; //应用类别
    private String IsPushMessage; //消息推送
    private String MessageAppId; //接收应用Id
    private String ToDoSubject; //待办标题
    private String DefaultFlowId; //默认流程Id

    public FSysAppInfo (IntegrateSql f){
        super(f,"F_Sys_AppInfo");
        this.setKeyName("AppId");
    }

    public FSysAppInfo (IntegrateSql f,ResultSet rs) throws SQLException{
        super(f,"F_Sys_AppInfo");
        this.setKeyName("AppId");
        this.initParamToRs(rs);
    }

    public FSysAppInfo (IntegrateSql f,String keyValue) throws SQLException{
        super(f,"F_Sys_AppInfo");
        this.setKeyName("AppId");
        setCodePrepare(selectCodeById().toString());
        prepareSql.setPstValue(1, keyValue);
        ResultSet rs = executeQuery();
        if(rs.next()){
            initParamToRs(rs);
        }else{
            initParam();
        }
        rs.close();
    }

    @Override
    protected void initParam() {
        SysId = 0; //租户ID
        SysAddTime = ""; //创建时间
        SysAddUser = ""; //创建人
        SysEditTime = ""; //修改时间
        SysEditUser = ""; //修改人
        AppKeyId = ""; //应用编号
        IsUse = ""; //是否使用
        AppDesc = ""; //应用描述
        AppType = 0; //模块类型
        FlowType = 0; //应用类别
        IsPushMessage = ""; //消息推送
        MessageAppId = ""; //接收应用Id
        ToDoSubject = ""; //待办标题
        DefaultFlowId = ""; //默认流程Id
    }


    public void initParamToRs(ResultSet rs) throws SQLException{
        SysId = rs.getInt("SysId"); //租户ID
        SysAddTime = rs.getString("SysAddTime"); //创建时间
        SysAddUser = rs.getString("SysAddUser"); //创建人
        SysEditTime = rs.getString("SysEditTime"); //修改时间
        SysEditUser = rs.getString("SysEditUser"); //修改人
        AppKeyId = rs.getString("AppKeyId"); //应用编号
        IsUse = rs.getString("IsUse"); //是否使用
        AppDesc = rs.getString("AppDesc"); //应用描述
        AppType = rs.getInt("AppType"); //模块类型
        FlowType = rs.getInt("FlowType"); //应用类别
        IsPushMessage = rs.getString("IsPushMessage"); //消息推送
        MessageAppId = rs.getString("MessageAppId"); //接收应用Id
        ToDoSubject = rs.getString("ToDoSubject"); //待办标题
        DefaultFlowId = rs.getString("DefaultFlowId"); //默认流程Id
        this.setKeyId(rs.getString("AppId"));
    }


    @Override
    protected int appendData() throws SQLException {
        int i = 1;
        prepareSql.setPstValue(i++,SysId); //租户ID
        prepareSql.setPstValue(i++,SysAddTime); //创建时间
        prepareSql.setPstValue(i++,SysAddUser); //创建人
        prepareSql.setPstValue(i++,SysEditTime); //修改时间
        prepareSql.setPstValue(i++,SysEditUser); //修改人
        prepareSql.setPstValue(i++,AppKeyId); //应用编号
        prepareSql.setPstValue(i++,IsUse); //是否使用
        prepareSql.setPstValue(i++,AppDesc); //应用描述
        prepareSql.setPstValue(i++,AppType); //模块类型
        prepareSql.setPstValue(i++,FlowType); //应用类别
        prepareSql.setPstValue(i++,IsPushMessage); //消息推送
        prepareSql.setPstValue(i++,MessageAppId); //接收应用Id
        prepareSql.setPstValue(i++,ToDoSubject); //待办标题
        prepareSql.setPstValue(i++,DefaultFlowId); //默认流程Id
        return i;
    }


    @Override
    public Vector<String> getFields() {
        Vector<String> vec = new Vector<>();
        vec.addElement("SysId"); //租户ID
        vec.addElement("SysAddTime"); //创建时间
        vec.addElement("SysAddUser"); //创建人
        vec.addElement("SysEditTime"); //修改时间
        vec.addElement("SysEditUser"); //修改人
        vec.addElement("AppKeyId"); //应用编号
        vec.addElement("IsUse"); //是否使用
        vec.addElement("AppDesc"); //应用描述
        vec.addElement("AppType"); //模块类型
        vec.addElement("FlowType"); //应用类别
        vec.addElement("IsPushMessage"); //消息推送
        vec.addElement("MessageAppId"); //接收应用Id
        vec.addElement("ToDoSubject"); //待办标题
        vec.addElement("DefaultFlowId"); //默认流程Id
        return vec;
    }


    /**
     * 设置租户ID
     * @param sysid
     */
    public void setSysId(int sysid){
        SysId = sysid;
    }
    /**
     * 获取SysId
     * @return 租户ID
     */
    public int getSysId(){
        return SysId;
    }

    /**
     * 设置创建时间
     * @param sysaddtime
     */
    public void setSysAddTime(String sysaddtime){
        SysAddTime = sysaddtime;
    }
    /**
     * 获取SysAddTime
     * @return 创建时间
     */
    public String getSysAddTime(){
        return SysAddTime;
    }

    /**
     * 设置创建人
     * @param sysadduser
     */
    public void setSysAddUser(String sysadduser){
        SysAddUser = sysadduser;
    }
    /**
     * 获取SysAddUser
     * @return 创建人
     */
    public String getSysAddUser(){
        return SysAddUser;
    }

    /**
     * 设置修改时间
     * @param sysedittime
     */
    public void setSysEditTime(String sysedittime){
        SysEditTime = sysedittime;
    }
    /**
     * 获取SysEditTime
     * @return 修改时间
     */
    public String getSysEditTime(){
        return SysEditTime;
    }

    /**
     * 设置修改人
     * @param sysedituser
     */
    public void setSysEditUser(String sysedituser){
        SysEditUser = sysedituser;
    }
    /**
     * 获取SysEditUser
     * @return 修改人
     */
    public String getSysEditUser(){
        return SysEditUser;
    }

    /**
     * 设置应用编号
     * @param appkeyid
     */
    public void setAppKeyId(String appkeyid){
        AppKeyId = appkeyid;
    }
    /**
     * 获取AppKeyId
     * @return 应用编号
     */
    public String getAppKeyId(){
        return AppKeyId;
    }

    /**
     * 设置是否使用
     * @param isuse
     */
    public void setIsUse(String isuse){
        IsUse = isuse;
    }
    /**
     * 获取IsUse
     * @return 是否使用
     */
    public String getIsUse(){
        return IsUse;
    }

    /**
     * 设置应用描述
     * @param appdesc
     */
    public void setAppDesc(String appdesc){
        AppDesc = appdesc;
    }
    /**
     * 获取AppDesc
     * @return 应用描述
     */
    public String getAppDesc(){
        return AppDesc;
    }

    /**
     * 设置模块类型
     * @param apptype
     */
    public void setAppType(int apptype){
        AppType = apptype;
    }
    /**
     * 获取AppType
     * @return 模块类型
     */
    public int getAppType(){
        return AppType;
    }

    /**
     * 设置应用类别
     * @param flowtype
     */
    public void setFlowType(int flowtype){
        FlowType = flowtype;
    }
    /**
     * 获取FlowType
     * @return 应用类别
     */
    public int getFlowType(){
        return FlowType;
    }

    /**
     * 设置消息推送
     * @param ispushmessage
     */
    public void setIsPushMessage(String ispushmessage){
        IsPushMessage = ispushmessage;
    }
    /**
     * 获取IsPushMessage
     * @return 消息推送
     */
    public String getIsPushMessage(){
        return IsPushMessage;
    }

    /**
     * 设置接收应用Id
     * @param messageappid
     */
    public void setMessageAppId(String messageappid){
        MessageAppId = messageappid;
    }
    /**
     * 获取MessageAppId
     * @return 接收应用Id
     */
    public String getMessageAppId(){
        return MessageAppId;
    }

    /**
     * 设置待办标题
     * @param todosubject
     */
    public void setToDoSubject(String todosubject){
        ToDoSubject = todosubject;
    }
    /**
     * 获取ToDoSubject
     * @return 待办标题
     */
    public String getToDoSubject(){
        return ToDoSubject;
    }

    /**
     * 设置默认流程Id
     * @param defaultflowid
     */
    public void setDefaultFlowId(String defaultflowid){
        DefaultFlowId = defaultflowid;
    }
    /**
     * 获取DefaultFlowId
     * @return 默认流程Id
     */
    public String getDefaultFlowId(){
        return DefaultFlowId;
    }

}
